package com.yiyahui.project.erp.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yiyahui.framework.aspectj.lang.annotation.Excel;
import com.yiyahui.framework.web.domain.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 预约对象 yiya_appointment
 * 
 * @author yiyahui
 * @date 2020-07-08
 */

@ApiModel(value="预约对象")
public class YiyaAppointment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 市场建档id */
    @ApiModelProperty(value="市场建档id")
    @Excel(name = "市场建档id")
    private Long marketReservationId;

    /** 患者id */
    @ApiModelProperty(value="患者id")
    @Excel(name = "患者id")
    private Long clinicPersonId;

    /** 患者姓名 */
    @ApiModelProperty(value="患者姓名")
    @Excel(name = "患者姓名")
    private String clinicPersonName;

    /** 预约开始时间 */
    @ApiModelProperty(value="预约开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预约开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startReservationTime;

    /** 预约结束时间 */
    @ApiModelProperty(value="预约结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预约结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endReservationTime;

    /** 开单状态 */
    @ApiModelProperty(value="开单状态")
    @Excel(name = "开单状态")
    private String billingStatus;

    /** 成交状态 */
    @ApiModelProperty(value="成交状态")
    @Excel(name = "成交状态")
    private String bargainStatus;

    /** 客户状态 */
    @ApiModelProperty(value="客户状态")
    @Excel(name = "客户状态")
    private String personStatus;

    /** 预约日期 */
    @ApiModelProperty(value="预约日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reservationDate;

    /** 到店时间 */
    @ApiModelProperty(value="到店时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "到店时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date onClinicTime;

    /** 医生id */
    @ApiModelProperty(value="医生id")
    @Excel(name = "医生id")
    private String doctorId;

    /** 医生姓名 */
    @ApiModelProperty(value="医生姓名")
    @Excel(name = "医生姓名")
    private String doctorName;

    /** 咨询tcId */
    @ApiModelProperty(value="咨询tcId")
    @Excel(name = "咨询tcId")
    private String tcId;

    /** tc姓名 */
    @ApiModelProperty(value="tc姓名")
    @Excel(name = "tc姓名")
    private String tcName;

    /** 门诊id */
    @ApiModelProperty(value="门诊id")
    @Excel(name = "门诊id")
    private Long clinicId;

    /** 门诊名称 */
    @ApiModelProperty(value="门诊名称")
    @Excel(name = "门诊名称")
    private String clinicName;

    /** 预约项目 */
    @ApiModelProperty(value="预约项目")
    @Excel(name = "预约项目")
    private String reservationProject;

    /** 预约状态 1 预约 2 确认 3 挂号 4 治疗中 5 治疗完成 6 离开 7 失约 8 删除 */
    @ApiModelProperty(value="预约状态 1 预约 2 确认 3 挂号 4 治疗中 5 治疗完成 6 离开 7 失约 8 删除")
    @Excel(name = "预约状态 1 预约 2 确认 3 挂号 4 治疗中 5 治疗完成 6 离开 7 失约 8 删除")
    private Integer appointmentStatus;

    /** 删除原因 */
    @ApiModelProperty(value="删除原因")
    @Excel(name = "删除原因")
    private String deleteReason;

    /** 是否有病例 0 否 1 是 */
    @ApiModelProperty(value="是否有病例 0 否 1 是")
    @Excel(name = "是否有病例 0 否 1 是")
    private Integer isCase;

    /** 是否有随访 0 否 1 是 */
    @ApiModelProperty(value="是否有随访 0 否 1 是")
    @Excel(name = "是否有随访 0 否 1 是")
    private Integer isVisit;

    /** 是否复诊预约 0 否 1 是 */
    @ApiModelProperty(value="是否复诊预约 0 否 1 是")
    @Excel(name = "是否复诊预约 0 否 1 是")
    private Integer isAppointment;

    /** 是否上传影像 0 否 1 是 */
    @ApiModelProperty(value="是否上传影像 0 否 1 是")
    @Excel(name = "是否上传影像 0 否 1 是")
    private Integer isShadow;

    /** 备注 */
    @ApiModelProperty(value="备注")
    @Excel(name = "备注")
    private String remarks;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setMarketReservationId(Long marketReservationId) 
    {
        this.marketReservationId = marketReservationId;
    }

    public Long getMarketReservationId() 
    {
        return marketReservationId;
    }
    public void setClinicPersonId(Long clinicPersonId) 
    {
        this.clinicPersonId = clinicPersonId;
    }

    public Long getClinicPersonId() 
    {
        return clinicPersonId;
    }
    public void setClinicPersonName(String clinicPersonName) 
    {
        this.clinicPersonName = clinicPersonName;
    }

    public String getClinicPersonName() 
    {
        return clinicPersonName;
    }
    public void setStartReservationTime(Date startReservationTime) 
    {
        this.startReservationTime = startReservationTime;
    }

    public Date getStartReservationTime() 
    {
        return startReservationTime;
    }
    public void setEndReservationTime(Date endReservationTime) 
    {
        this.endReservationTime = endReservationTime;
    }

    public Date getEndReservationTime() 
    {
        return endReservationTime;
    }
    public void setBillingStatus(String billingStatus) 
    {
        this.billingStatus = billingStatus;
    }

    public String getBillingStatus() 
    {
        return billingStatus;
    }
    public void setBargainStatus(String bargainStatus) 
    {
        this.bargainStatus = bargainStatus;
    }

    public String getBargainStatus() 
    {
        return bargainStatus;
    }
    public void setPersonStatus(String personStatus) 
    {
        this.personStatus = personStatus;
    }

    public String getPersonStatus() 
    {
        return personStatus;
    }
    public void setReservationDate(Date reservationDate)
    {
        this.reservationDate = reservationDate;
    }

    public Date getReservationDate()
    {
        return reservationDate;
    }
    public void setOnClinicTime(Date onClinicTime)
    {
        this.onClinicTime = onClinicTime;
    }

    public Date getOnClinicTime() 
    {
        return onClinicTime;
    }
    public void setDoctorId(String doctorId) 
    {
        this.doctorId = doctorId;
    }

    public String getDoctorId() 
    {
        return doctorId;
    }
    public void setDoctorName(String doctorName) 
    {
        this.doctorName = doctorName;
    }

    public String getDoctorName() 
    {
        return doctorName;
    }
    public void setTcId(String tcId) 
    {
        this.tcId = tcId;
    }

    public String getTcId() 
    {
        return tcId;
    }
    public void setTcName(String tcName) 
    {
        this.tcName = tcName;
    }

    public String getTcName() 
    {
        return tcName;
    }
    public void setClinicId(Long clinicId) 
    {
        this.clinicId = clinicId;
    }

    public Long getClinicId() 
    {
        return clinicId;
    }
    public void setClinicName(String clinicName) 
    {
        this.clinicName = clinicName;
    }

    public String getClinicName() 
    {
        return clinicName;
    }
    public void setReservationProject(String reservationProject) 
    {
        this.reservationProject = reservationProject;
    }

    public String getReservationProject() 
    {
        return reservationProject;
    }
    public void setAppointmentStatus(Integer appointmentStatus) 
    {
        this.appointmentStatus = appointmentStatus;
    }

    public Integer getAppointmentStatus() 
    {
        return appointmentStatus;
    }
    public void setDeleteReason(String deleteReason) 
    {
        this.deleteReason = deleteReason;
    }

    public String getDeleteReason() 
    {
        return deleteReason;
    }
    public void setIsCase(Integer isCase) 
    {
        this.isCase = isCase;
    }

    public Integer getIsCase() 
    {
        return isCase;
    }
    public void setIsVisit(Integer isVisit) 
    {
        this.isVisit = isVisit;
    }

    public Integer getIsVisit() 
    {
        return isVisit;
    }
    public void setIsAppointment(Integer isAppointment) 
    {
        this.isAppointment = isAppointment;
    }

    public Integer getIsAppointment() 
    {
        return isAppointment;
    }
    public void setIsShadow(Integer isShadow) 
    {
        this.isShadow = isShadow;
    }

    public Integer getIsShadow() 
    {
        return isShadow;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("marketReservationId", getMarketReservationId())
            .append("clinicPersonId", getClinicPersonId())
            .append("clinicPersonName", getClinicPersonName())
            .append("startReservationTime", getStartReservationTime())
            .append("endReservationTime", getEndReservationTime())
            .append("billingStatus", getBillingStatus())
            .append("bargainStatus", getBargainStatus())
            .append("personStatus", getPersonStatus())
            .append("reservationDate", getReservationDate())
            .append("onClinicTime", getOnClinicTime())
            .append("doctorId", getDoctorId())
            .append("doctorName", getDoctorName())
            .append("tcId", getTcId())
            .append("tcName", getTcName())
            .append("clinicId", getClinicId())
            .append("clinicName", getClinicName())
            .append("reservationProject", getReservationProject())
            .append("appointmentStatus", getAppointmentStatus())
            .append("deleteReason", getDeleteReason())
            .append("isCase", getIsCase())
            .append("isVisit", getIsVisit())
            .append("isAppointment", getIsAppointment())
            .append("isShadow", getIsShadow())
            .append("remarks", getRemarks())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
